home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / IDL / ShapeB.idl < prev    next >
Encoding:
Text File  |  1994-04-19  |  2.6 KB  |  108 lines  |  [TEXT/MPS ]

  1. //# Copyright:    © 1993-94 by Apple Computer, Inc., all rights reserved.
  2. #ifndef _SHAPEB_
  3. #define _SHAPEB_
  4.  
  5. #ifndef _ODOBJECT_
  6. #include "ODObject.idl"      // base class
  7. #endif
  8.  
  9. //==============================================================================
  10. // Classes defined in this interface
  11. //==============================================================================
  12.  
  13. interface ODBaseShape;
  14.  
  15. //==============================================================================
  16. // Classes used in this interface
  17. //==============================================================================
  18.  
  19. interface ODShape;
  20. interface ODTransform;
  21. interface ODStorageUnit;
  22.  
  23. //==============================================================================
  24. // ODBaseShape
  25. //==============================================================================
  26.  
  27. interface ODBaseShape :  ODObject
  28. {
  29.     
  30.     //---------------------------------
  31.     // getters/setters
  32.     
  33.     void SetGeometryMode(in ODGeometryMode mode);
  34.     ODGeometryMode GetGeometryMode();
  35.     void GetBoundingBox(out ODRect bounds);
  36.     ODShape  SetRectangle(in ODRect rect);
  37.     ODPolygon CopyPolygon();
  38.     ODShape SetPolygon(in ODPolygon polygon);
  39.     ODPlatformShape GetPlatformShape(in ODGraphicsSystem graphicsSystem);
  40.     void SetPlatformShape(in ODGraphicsSystem graphicsSystem,
  41.                           in ODPlatformShape platformShape);
  42.     
  43.     //---------------------------------
  44.     // input / output:
  45.     
  46.     void WriteShape(in ODStorageUnit storageUnit);
  47.     ODShape  ReadShape(in ODStorageUnit storageUnit);
  48.     
  49.     //---------------------------------
  50.     // comparison/testing functions
  51.     
  52.     ODBoolean IsSameAs(in ODShape compareShape);
  53.     ODBoolean IsEmpty();
  54.     ODBoolean ContainsPoint(in ODPoint point);
  55.     ODBoolean IsRectangular();
  56.     ODBoolean HasGeometry();
  57.     
  58.     //---------------------------------
  59.     // geometry operations
  60.     
  61.     ODShape Copy();
  62.     void CopyFrom(in ODShape sourceShape);
  63.     ODShape Transform(in ODTransform transform);
  64.     ODShape InverseTransform(in ODTransform transform);
  65.     ODShape Subtract(in ODShape diffShape);
  66.     ODShape Intersect(in ODShape sectShape);
  67.     ODShape Union(in ODShape unionShape);
  68.       
  69. #ifdef __SOMIDL__
  70.     implementation
  71.     {
  72.         override:
  73.             somInit,
  74.             somUninit;
  75.             
  76.         releaseorder:
  77.             SetGeometryMode,
  78.             GetGeometryMode,
  79.             GetBoundingBox,
  80.             SetRectangle,
  81.             CopyPolygon,
  82.             SetPolygon,
  83.             GetPlatformShape,
  84.             SetPlatformShape,
  85.             WriteShape,
  86.             ReadShape,
  87.             IsSameAs,
  88.             IsEmpty,
  89.             ContainsPoint,
  90.             IsRectangular,
  91.             HasGeometry,
  92.             Copy,
  93.             CopyFrom,
  94.             Transform,
  95.             InverseTransform,
  96.             Subtract,
  97.             Intersect,
  98.             Union,
  99.             reserved1;
  100.         
  101.         majorversion = 1; minorversion = 0;
  102.         
  103.     };
  104. #endif
  105. };
  106.  
  107. #endif // _SHAPE_
  108.